<?php

namespace App\Api\Eloquent;

class Ad extends Model
{
    /**
     * 广告位的代码类别
     *
     * @var string
     */
    const AD_POSITION_CODE = 'ads_type';

    /**
     * 模型使用数据库表
     *
     * @var string
     */
    protected $table = 'ads';

    /**
     * 实例化模型可批量赋值
     *
     * @var array
     */
    protected $fillable = ['name', 'position', 'image', 'link', 'description', 'sort'];

    /**
     * 获取广告位
     *
     * @return  \App\Admin\Eloquent\CodeType
     */

    public static function getPositions()
    {
        return Code::getByTypeId(self::AD_POSITION_CODE);
    }

    /**
     * 广告位
     * @return \App\Admin\Eloquent\CodeType|null
     */
    public function position()
    {
        return Code::findByCodeAndTypeId($this->position, self::AD_POSITION_CODE);
    }
    /*
     * 获取对应广告位下的所有广告
     */
    public static function getAds($cate,$id){
        return Ad::where('position','=',$cate)
            ->orderBy('sort','asc')
            ->take($id)
            ->get();
    }
    /*
     * 获取对应广告位下排序第一的广告
     */
    public static function getFristAds($cate){
        return Ad::where('position','=',$cate)
            ->orderBy('sort','asc')
            ->first();
    }
    /*
     * 模糊查询（$cate:ads_页面 ）页面广告位
     */
    public static function getShareAds($cate){
        return Ad::where('position','like', '%' . $cate . '%')
            ->orderBy('sort','asc')
            ->get();
    }
}